package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 电信息对象 dat_electricmeter
 *
 * @author expense
 * @date 2025-02-20
 */
public class DatElectricmeter extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 电表ID
     */
    private String meterId;

    /**
     * 省编码
     */
    @Excel(name = "省编码")
    private String prvId;

    /**
     * 省简称
     */
    @Excel(name = "省简称")
    private String prvSname;

    /**
     * 地市编码
     */
    @Excel(name = "地市编码")
    private String pregId;

    /**
     * 所属地市
     */
    @Excel(name = "所属地市")
    private String pregName;

    /**
     * 区域编码
     */
    @Excel(name = "区域编码")
    private String regId;

    /**
     * 所属区县
     */
    @Excel(name = "所属区县")
    private String regName;

    /**
     * 报账点id
     */
    @Excel(name = "报账点id")
    private String billaccountId;

    /**
     * 电表编码
     */
    @Excel(name = "电表编码")
    private String meterCode;

    /**
     * 电表初始值
     */
    @Excel(name = "电表初始值")
    private BigDecimal initialValue;

    /**
     * 电表上限
     */
    @Excel(name = "电表上限")
    private BigDecimal upperValue;

    /**
     * 平初始值
     */
    @Excel(name = "平初始值")
    private BigDecimal flatValue;

    /**
     * 峰初始值
     */
    @Excel(name = "峰初始值")
    private BigDecimal peakValue;

    /**
     * 尖初始值
     */
    @Excel(name = "尖初始值")
    private BigDecimal topValue;

    /**
     * 谷初始值
     */
    @Excel(name = "谷初始值")
    private BigDecimal valleyValue;

    /**
     * 平上限值
     */
    @Excel(name = "平上限值")
    private BigDecimal flatUpperValue;

    /**
     * 峰上限值
     */
    @Excel(name = "峰上限值")
    private BigDecimal peakUpperValue;

    /**
     * 谷上限值
     */
    @Excel(name = "谷上限值")
    private BigDecimal valleyUpperValue;

    /**
     * 尖上限值
     */
    @Excel(name = "尖上限值")
    private BigDecimal topUpperValue;

    /**
     * 电表类型 1:普通表（非分时电表）；2：平峰谷表
     */
    @Excel(name = "电表类型 1:普通表", readConverterExp = "非=分时电表")
    private String meterType;

    /**
     * 电表倍率
     */
    @Excel(name = "电表倍率")
    private BigDecimal electricmeterMultiply;

    /**
     * 户号
     */
    @Excel(name = "户号")
    private String accountNumber;

    /**
     * 安装日期
     */

    private LocalDateTime installDate;

    /**
     * 电表状态（0：正常   9：停用）
     */
    @Excel(name = "电表状态", readConverterExp = "0=：正常,9=：停用")
    private String meterState;

    /**
     * 是否多机房共用 0：否  1：是
     */
    @Excel(name = "是否多机房共用 0：否  1：是")
    private String isShare;

    /**
     * 备注信息
     */
    @Excel(name = "备注信息")
    private String meterNote;

    /**
     * 数据来源（0：系统录入  1:系统导入   2：接口采集）
     */
    @Excel(name = "数据来源", readConverterExp = "0=：系统录入,1=:系统导入,2=：接口采集")
    private String dataFrom;

    /**
     * 系统自定义电表代码
     */
    @Excel(name = "系统自定义电表代码")
    private String sysMeterCode;


    private LocalDateTime replaceDate;

    /**
     * 更换电表ID
     */
    @Excel(name = "更换电表ID")
    private String replaceMeterId;

    /**
     * 创建人Id
     */
    @Excel(name = "创建人Id")
    private String createUserId;

    /**
     * 最后一次修改人Id
     */
    @Excel(name = "最后一次修改人Id")
    private String updateUserId;

    /**
     * 电表来源（1:转供电电表  2:塔维电表 3：直供电电表)
     */
    @Excel(name = "电表来源", readConverterExp = "电表来源（1:转供电电表  2:塔维电表 3：直供电电表)")
    private String eleTricmeterType;

    /**
     * 铁塔电表ID(铁塔公司电表的唯一主键)
     */
    @Excel(name = "铁塔电表ID(铁塔公司电表的唯一主键)")
    private String towerMeterId;

    /**
     * 表资产号
     */
    @Excel(name = "表资产号")
    private String tricmeterPropertyCode;

    /**
     * 错误数据更正编号
     */
    @Excel(name = "错误数据更正编号")
    private String correctId;

    /**
     * 错误数据更正时间
     */
    private LocalDateTime correctTime;

    /**
     * 最后更新时间
     */
    private LocalDateTime lastModifyTime;

    /**
     * 附件数量
     */
    @Excel(name = "附件数量")
    private String countattachment;

    private String auditingState;
    private String lastAuditingdate;
    private String auditingUserId;
    private String stayAuditingUserId;
    private String submitUserId;
    private String replaceMeterCode;
    private String resetMeterDate;
    private String isShowReplace;
    private String isShowReset;
    private String isCanReplace;


    public void setMeterId(String meterId) {
        this.meterId = meterId;
    }

    public String getMeterId() {
        return meterId;
    }

    public void setPrvId(String prvId) {
        this.prvId = prvId;
    }

    public String getPrvId() {
        return prvId;
    }

    public void setPrvSname(String prvSname) {
        this.prvSname = prvSname;
    }

    public String getPrvSname() {
        return prvSname;
    }

    public void setPregId(String pregId) {
        this.pregId = pregId;
    }

    public String getPregId() {
        return pregId;
    }

    public void setPregName(String pregName) {
        this.pregName = pregName;
    }

    public String getPregName() {
        return pregName;
    }

    public void setRegId(String regId) {
        this.regId = regId;
    }

    public String getRegId() {
        return regId;
    }

    public void setRegName(String regName) {
        this.regName = regName;
    }

    public String getRegName() {
        return regName;
    }

    public void setBillaccountId(String billaccountId) {
        this.billaccountId = billaccountId;
    }

    public String getBillaccountId() {
        return billaccountId;
    }

    public void setMeterCode(String meterCode) {
        this.meterCode = meterCode;
    }

    public String getMeterCode() {
        return meterCode;
    }

    public void setInitialValue(BigDecimal initialValue) {
        this.initialValue = initialValue;
    }

    public BigDecimal getInitialValue() {
        return initialValue;
    }

    public void setUpperValue(BigDecimal upperValue) {
        this.upperValue = upperValue;
    }

    public BigDecimal getUpperValue() {
        return upperValue;
    }

    public void setFlatValue(BigDecimal flatValue) {
        this.flatValue = flatValue;
    }

    public BigDecimal getFlatValue() {
        return flatValue;
    }

    public void setPeakValue(BigDecimal peakValue) {
        this.peakValue = peakValue;
    }

    public BigDecimal getPeakValue() {
        return peakValue;
    }

    public void setTopValue(BigDecimal topValue) {
        this.topValue = topValue;
    }

    public BigDecimal getTopValue() {
        return topValue;
    }

    public void setValleyValue(BigDecimal valleyValue) {
        this.valleyValue = valleyValue;
    }

    public BigDecimal getValleyValue() {
        return valleyValue;
    }

    public void setFlatUpperValue(BigDecimal flatUpperValue) {
        this.flatUpperValue = flatUpperValue;
    }

    public BigDecimal getFlatUpperValue() {
        return flatUpperValue;
    }

    public void setPeakUpperValue(BigDecimal peakUpperValue) {
        this.peakUpperValue = peakUpperValue;
    }

    public BigDecimal getPeakUpperValue() {
        return peakUpperValue;
    }

    public void setValleyUpperValue(BigDecimal valleyUpperValue) {
        this.valleyUpperValue = valleyUpperValue;
    }

    public BigDecimal getValleyUpperValue() {
        return valleyUpperValue;
    }

    public void setTopUpperValue(BigDecimal topUpperValue) {
        this.topUpperValue = topUpperValue;
    }

    public BigDecimal getTopUpperValue() {
        return topUpperValue;
    }

    public void setMeterType(String meterType) {
        this.meterType = meterType;
    }

    public String getMeterType() {
        return meterType;
    }

    public void setElectricmeterMultiply(BigDecimal electricmeterMultiply) {
        this.electricmeterMultiply = electricmeterMultiply;
    }

    public BigDecimal getElectricmeterMultiply() {
        return electricmeterMultiply;
    }

    public void setAccountNumber(String accountNumber) {
        this.accountNumber = accountNumber;
    }

    public String getAccountNumber() {
        return accountNumber;
    }

    public void setInstallDate(LocalDateTime installDate) {
        this.installDate = installDate;
    }

    public LocalDateTime getInstallDate() {
        return installDate;
    }

    public void setMeterState(String meterState) {
        this.meterState = meterState;
    }

    public String getMeterState() {
        return meterState;
    }

    public void setIsShare(String isShare) {
        this.isShare = isShare;
    }

    public String getIsShare() {
        return isShare;
    }

    public void setMeterNote(String meterNote) {
        this.meterNote = meterNote;
    }

    public String getMeterNote() {
        return meterNote;
    }

    public void setDataFrom(String dataFrom) {
        this.dataFrom = dataFrom;
    }

    public String getDataFrom() {
        return dataFrom;
    }

    public void setSysMeterCode(String sysMeterCode) {
        this.sysMeterCode = sysMeterCode;
    }

    public String getSysMeterCode() {
        return sysMeterCode;
    }

    public void setReplaceDate(LocalDateTime replaceDate) {
        this.replaceDate = replaceDate;
    }

    public LocalDateTime getReplaceDate() {
        return replaceDate;
    }

    public void setReplaceMeterId(String replaceMeterId) {
        this.replaceMeterId = replaceMeterId;
    }

    public String getReplaceMeterId() {
        return replaceMeterId;
    }

    public void setCreateUserId(String createUserId) {
        this.createUserId = createUserId;
    }

    public String getCreateUserId() {
        return createUserId;
    }

    public void setUpdateUserId(String updateUserId) {
        this.updateUserId = updateUserId;
    }

    public String getUpdateUserId() {
        return updateUserId;
    }

    public void setEleTricmeterType(String eleTricmeterType) {
        this.eleTricmeterType = eleTricmeterType;
    }

    public String getEleTricmeterType() {
        return eleTricmeterType;
    }

    public void setTowerMeterId(String towerMeterId) {
        this.towerMeterId = towerMeterId;
    }

    public String getTowerMeterId() {
        return towerMeterId;
    }

    public void setTricmeterPropertyCode(String tricmeterPropertyCode) {
        this.tricmeterPropertyCode = tricmeterPropertyCode;
    }

    public String getTricmeterPropertyCode() {
        return tricmeterPropertyCode;
    }

    public void setCorrectId(String correctId) {
        this.correctId = correctId;
    }

    public String getCorrectId() {
        return correctId;
    }

    public void setCorrectTime(LocalDateTime correctTime) {
        this.correctTime = correctTime;
    }

    public LocalDateTime getCorrectTime() {
        return correctTime;
    }

    public void setLastModifyTime(LocalDateTime lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }

    public LocalDateTime getLastModifyTime() {
        return lastModifyTime;
    }

    public void setCountattachment(String countattachment) {
        this.countattachment = countattachment;
    }

    public String getCountattachment() {
        return countattachment;
    }

    public String getAuditingState() {
        return auditingState;
    }

    public void setAuditingState(String auditingState) {
        this.auditingState = auditingState;
    }

    public String getLastAuditingdate() {
        return lastAuditingdate;
    }

    public void setLastAuditingdate(String lastAuditingdate) {
        this.lastAuditingdate = lastAuditingdate;
    }

    public String getAuditingUserId() {
        return auditingUserId;
    }

    public void setAuditingUserId(String auditingUserId) {
        this.auditingUserId = auditingUserId;
    }

    public String getStayAuditingUserId() {
        return stayAuditingUserId;
    }

    public void setStayAuditingUserId(String stayAuditingUserId) {
        this.stayAuditingUserId = stayAuditingUserId;
    }

    public String getSubmitUserId() {
        return submitUserId;
    }

    public void setSubmitUserId(String submitUserId) {
        this.submitUserId = submitUserId;
    }

    public String getReplaceMeterCode() {
        return replaceMeterCode;
    }

    public void setReplaceMeterCode(String replaceMeterCode) {
        this.replaceMeterCode = replaceMeterCode;
    }

    public String getResetMeterDate() {
        return resetMeterDate;
    }

    public void setResetMeterDate(String resetMeterDate) {
        this.resetMeterDate = resetMeterDate;
    }

    public String getIsShowReplace() {
        return isShowReplace;
    }

    public void setIsShowReplace(String isShowReplace) {
        this.isShowReplace = isShowReplace;
    }

    public String getIsShowReset() {
        return isShowReset;
    }

    public void setIsShowReset(String isShowReset) {
        this.isShowReset = isShowReset;
    }

    public String getIsCanReplace() {
        return isCanReplace;
    }

    public void setIsCanReplace(String isCanReplace) {
        this.isCanReplace = isCanReplace;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("meterId", getMeterId())
                .append("prvId", getPrvId())
                .append("prvSname", getPrvSname())
                .append("pregId", getPregId())
                .append("pregName", getPregName())
                .append("regId", getRegId())
                .append("regName", getRegName())
                .append("billaccountId", getBillaccountId())
                .append("meterCode", getMeterCode())
                .append("initialValue", getInitialValue())
                .append("upperValue", getUpperValue())
                .append("flatValue", getFlatValue())
                .append("peakValue", getPeakValue())
                .append("topValue", getTopValue())
                .append("valleyValue", getValleyValue())
                .append("flatUpperValue", getFlatUpperValue())
                .append("peakUpperValue", getPeakUpperValue())
                .append("valleyUpperValue", getValleyUpperValue())
                .append("topUpperValue", getTopUpperValue())
                .append("meterType", getMeterType())
                .append("electricmeterMultiply", getElectricmeterMultiply())
                .append("accountNumber", getAccountNumber())
                .append("installDate", getInstallDate())
                .append("meterState", getMeterState())
                .append("isShare", getIsShare())
                .append("meterNote", getMeterNote())
                .append("dataFrom", getDataFrom())
                .append("sysMeterCode", getSysMeterCode())
                .append("replaceDate", getReplaceDate())
                .append("replaceMeterId", getReplaceMeterId())
                .append("createUserId", getCreateUserId())
                .append("createTime", getCreateTime())
                .append("updateUserId", getUpdateUserId())
                .append("updateTime", getUpdateTime())
                .append("eleTricmeterType", getEleTricmeterType())
                .append("towerMeterId", getTowerMeterId())
                .append("tricmeterPropertyCode", getTricmeterPropertyCode())
                .append("correctId", getCorrectId())
                .append("correctTime", getCorrectTime())
                .append("lastModifyTime", getLastModifyTime())
                .append("countattachment", getCountattachment())
                .toString();
    }
}
